package util;

import java.io.File;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;

public class JarUtils {
    /**
     * 获取class所在的Jar包的绝对地址（如果当前不为jar包，则返回的地址为class所在的module的绝对地址）
     * @return
     */
    public static String getLocalPath(Class clazz,String chartsName){
        String path = clazz.getProtectionDomain().getCodeSource().getLocation().getPath();
        
        if (chartsName == null||chartsName.isEmpty()){
            chartsName = "UTF-8";
        }
        try {
            return URLDecoder.decode(path,chartsName);
            //如果地址中存在中文的话，会出现乱码，所以需要处理一些编码格式
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }

        return path;
    }

    public static String getLocalDir(Class clazz,String chartsName){
        String path = getLocalPath(clazz,chartsName);

        return new File(path).getParent();
    }

}